#pragma once

class CNtDriverController
{
public:
	CNtDriverController(void);
	~CNtDriverController(void);

private :
	BOOL Open();

	void Close();

	BOOL WaitForStatus(
		DWORD dwDesiredStatus,
		SERVICE_STATUS * pss
		);

	BOOL InstallAndStart();

	void StopAndRemove();

private:
	SC_HANDLE m_hSCM;
	SC_HANDLE m_hDriver;
	BOOL m_bDriverStarted;
	BOOL m_bErrorOnStart;
	char m_szName[MAX_PATH];
	char m_szInfo[MAX_PATH];
	char m_szFullFileName[MAX_PATH];

};
